home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Resources / Chat & Communication / Digsby build 37 / digsby_setup.exe / lib / wx / py / interpreter.pyo (.txt) < prev    next >
Python Compiled Bytecode  |  2008-10-13  |  4KB  |  134 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyo (Python 2.5)
  3.  
  4. __author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
  5. __cvsid__ = '$Id: interpreter.py 44235 2007-01-17 23:05:14Z RD $'
  6. __revision__ = '$Revision: 44235 $'[11:-2]
  7. import os
  8. import sys
  9. from code import InteractiveInterpreter
  10. import dispatcher
  11. import introspect
  12. import wx
  13.  
  14. class Interpreter(InteractiveInterpreter):
  15.     revision = __revision__
  16.     
  17.     def __init__(self, locals = None, rawin = None, stdin = sys.stdin, stdout = sys.stdout, stderr = sys.stderr, showInterpIntro = True):
  18.         InteractiveInterpreter.__init__(self, locals = locals)
  19.         self.stdin = stdin
  20.         self.stdout = stdout
  21.         self.stderr = stderr
  22.         if rawin:
  23.             import __builtin__ as __builtin__
  24.             __builtin__.raw_input = rawin
  25.             del __builtin__
  26.         
  27.         if showInterpIntro:
  28.             copyright = 'Type "help", "copyright", "credits" or "license"'
  29.             copyright += ' for more information.'
  30.             self.introText = 'Python %s on %s%s%s' % (sys.version, sys.platform, os.linesep, copyright)
  31.         
  32.         
  33.         try:
  34.             sys.ps1
  35.         except AttributeError:
  36.             sys.ps1 = '>>> '
  37.  
  38.         
  39.         try:
  40.             sys.ps2
  41.         except AttributeError:
  42.             sys.ps2 = '... '
  43.  
  44.         self.more = 0
  45.         self.commandBuffer = []
  46.         self.startupScript = None
  47.  
  48.     
  49.     def push(self, command):
  50.         if type(command) == unicode:
  51.             
  52.             try:
  53.                 command = command.encode(wx.GetDefaultPyEncoding())
  54.             except UnicodeEncodeError:
  55.                 pass
  56.             except:
  57.                 None<EXCEPTION MATCH>UnicodeEncodeError
  58.             
  59.  
  60.         None<EXCEPTION MATCH>UnicodeEncodeError
  61.         if not self.more:
  62.             
  63.             try:
  64.                 del self.commandBuffer[-1]
  65.             except IndexError:
  66.                 pass
  67.             except:
  68.                 None<EXCEPTION MATCH>IndexError
  69.             
  70.  
  71.         None<EXCEPTION MATCH>IndexError
  72.         if not self.more:
  73.             self.commandBuffer.append([])
  74.         
  75.         self.commandBuffer[-1].append(command)
  76.         source = '\n'.join(self.commandBuffer[-1])
  77.         more = self.more = self.runsource(source)
  78.         dispatcher.send(signal = 'Interpreter.push', sender = self, command = command, more = more, source = source)
  79.         return more
  80.  
  81.     
  82.     def runsource(self, source):
  83.         stdin = sys.stdin
  84.         stdout = sys.stdout
  85.         stderr = sys.stderr
  86.         sys.stdin = self.stdin
  87.         sys.stdout = self.stdout
  88.         sys.stderr = self.stderr
  89.         more = InteractiveInterpreter.runsource(self, source)
  90.         if sys.stdin == self.stdin:
  91.             sys.stdin = stdin
  92.         
  93.         if sys.stdout == self.stdout:
  94.             sys.stdout = stdout
  95.         
  96.         if sys.stderr == self.stderr:
  97.             sys.stderr = stderr
  98.         
  99.         return more
  100.  
  101.     
  102.     def getAutoCompleteKeys(self):
  103.         return [
  104.             ord('.')]
  105.  
  106.     
  107.     def getAutoCompleteList(self, command = '', *args, **kwds):
  108.         stdin = sys.stdin
  109.         stdout = sys.stdout
  110.         stderr = sys.stderr
  111.         sys.stdin = self.stdin
  112.         sys.stdout = self.stdout
  113.         sys.stderr = self.stderr
  114.         l = introspect.getAutoCompleteList(command, self.locals, *args, **kwds)
  115.         sys.stdin = stdin
  116.         sys.stdout = stdout
  117.         sys.stderr = stderr
  118.         return l
  119.  
  120.     
  121.     def getCallTip(self, command = '', *args, **kwds):
  122.         return introspect.getCallTip(command, self.locals, *args, **kwds)
  123.  
  124.  
  125.  
  126. class InterpreterAlaCarte(Interpreter):
  127.     
  128.     def __init__(self, locals, rawin, stdin, stdout, stderr, ps1 = 'main prompt', ps2 = 'continuation prompt'):
  129.         Interpreter.__init__(self, locals = locals, rawin = rawin, stdin = stdin, stdout = stdout, stderr = stderr)
  130.         sys.ps1 = ps1
  131.         sys.ps2 = ps2
  132.  
  133.  
  134.